package model

import (
	"gorm.io/gorm"
	"shop/shop-srv/handler/config"
)

type Shop struct {
	gorm.Model
	Name   string `json:"name"`
	Price  int    `json:"price"`
	Number int    `json:"number"`
	Sales  int    `json:"sales"`
	Image  string `json:"image"`
	Status string `json:"status"`
}
type Message struct {
	gorm.Model
	ShopId int    `json:"shop_id"`
	Name   string `json:"name"`
	Expert string `json:"expert"`
	Status string `json:"status"`
}
type User struct {
	gorm.Model
	Account  string `json:"account"`
	Password string `json:"password"`
}

func ShopAdd[T any](data *T) error {
	return config.DB.Create(&data).Error
}
func MessageList[T any](data *T, id int) error {
	return config.DB.Where("id=?", id).Find(&data).Error
}
func ShopUpDate[T any](data *T, id int) error {
	return config.DB.Where("id=?", id).Updates(&data).Error
}
func Login[T any](data *T) error {
	return config.DB.Find(&data).Error
}

type Order struct {
	gorm.Model
	ShopId    int    `json:"shop_id"`
	UserId    int    `json:"user_id"`
	PlaceTime string `json:"place_time"`
	Status    string `json:"status"`
}

func OrderList[T any](data *T, id int) error {
	return config.DB.Where("id=?", id).Find(&data).Error
}
